{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用tushare在线获取个股交易历史数据。\n",
    "#### 主要内容\n",
    "    1. 使用tushare获取在线的数据。\n",
    "    2. 熟悉Pandas的基本操作，参考help。\n",
    "    3. 使用matplotlib简单地绘图显示。\n",
    "\n",
    "\n",
    "#### Tushare说明\n",
    "- Tushare详细接口请参考 http://tushare.org/trading.html#id2。\n",
    "- 参数说明：\n",
    "```\n",
    "    code：股票代码，即6位数字代码，或者指数代码（sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板）\n",
    "    start：开始日期，格式YYYY-MM-DD\n",
    "    end：结束日期，格式YYYY-MM-DD\n",
    "    ktype：数据类型，D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟，默认为D\n",
    "    retry_count：当网络异常后重试次数，默认为3\n",
    "    pause:重试时停顿秒数，默认为0\n",
    "```\n",
    "\n",
    "\n",
    "- 返回值说明：\n",
    "```\n",
    "    date：日期\n",
    "    open：开盘价\n",
    "    high：最高价\n",
    "    close：收盘价\n",
    "    low：最低价\n",
    "    volume：成交量\n",
    "    price_change：价格变动\n",
    "    p_change：涨跌幅\n",
    "    ma5：5日均价\n",
    "    ma10：10日均价\n",
    "    ma20:20日均价\n",
    "    v_ma5:5日均量\n",
    "    v_ma10:10日均量\n",
    "    v_ma20:20日均量\n",
    "    turnover:换手率[注：指数无此项]\n",
    "```\n",
    "\n",
    "\n",
    "- 其他:\n",
    "```\n",
    "    ts.get_hist_data('600848', ktype='W') #获取周k线数据\n",
    "    ts.get_hist_data('600848', ktype='M') #获取月k线数据\n",
    "    ts.get_hist_data('600848', ktype='5') #获取5分钟k线数据\n",
    "    ts.get_hist_data('600848', ktype='15') #获取15分钟k线数据\n",
    "    ts.get_hist_data('600848', ktype='30') #获取30分钟k线数据\n",
    "    ts.get_hist_data('600848', ktype='60') #获取60分钟k线数据\n",
    "    ts.get_hist_data('sh'）#获取上证指数k线数据，其它参数与个股一致，下同\n",
    "    ts.get_hist_data('sz'）#获取深圳成指k线数据\n",
    "    ts.get_hist_data('hs300'）#获取沪深300指数k线数据\n",
    "    ts.get_hist_data('sz50'）#获取上证50指数k线数据\n",
    "    ts.get_hist_data('zxb'）#获取中小板指数k线数据\n",
    "    ts.get_hist_data('cyb'）#获取创业板指数k线数据\n",
    "```\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tushare as ts\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = ts.get_hist_data('300036', start='2018-07-01', end='2018-07-30') #一次性获取全部日k线数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "显示数据表。由上述的函数自动构建一个Pandas的DataFrame对象，该对象由索引和一个二维数据数组组成。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-07-23</th>\n",
       "      <td>24.00</td>\n",
       "      <td>24.63</td>\n",
       "      <td>24.50</td>\n",
       "      <td>23.64</td>\n",
       "      <td>394998.97</td>\n",
       "      <td>1.14</td>\n",
       "      <td>4.88</td>\n",
       "      <td>22.130</td>\n",
       "      <td>21.352</td>\n",
       "      <td>20.767</td>\n",
       "      <td>242604.41</td>\n",
       "      <td>228566.07</td>\n",
       "      <td>220282.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-20</th>\n",
       "      <td>21.27</td>\n",
       "      <td>23.36</td>\n",
       "      <td>23.36</td>\n",
       "      <td>20.58</td>\n",
       "      <td>285217.94</td>\n",
       "      <td>2.12</td>\n",
       "      <td>9.98</td>\n",
       "      <td>21.416</td>\n",
       "      <td>21.006</td>\n",
       "      <td>20.479</td>\n",
       "      <td>203027.90</td>\n",
       "      <td>211702.43</td>\n",
       "      <td>208217.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-19</th>\n",
       "      <td>20.31</td>\n",
       "      <td>21.53</td>\n",
       "      <td>21.24</td>\n",
       "      <td>20.08</td>\n",
       "      <td>237180.05</td>\n",
       "      <td>0.84</td>\n",
       "      <td>4.12</td>\n",
       "      <td>20.804</td>\n",
       "      <td>20.744</td>\n",
       "      <td>20.248</td>\n",
       "      <td>179878.59</td>\n",
       "      <td>214353.52</td>\n",
       "      <td>200045.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-18</th>\n",
       "      <td>21.01</td>\n",
       "      <td>21.11</td>\n",
       "      <td>20.40</td>\n",
       "      <td>20.40</td>\n",
       "      <td>120305.32</td>\n",
       "      <td>-0.75</td>\n",
       "      <td>-3.55</td>\n",
       "      <td>20.672</td>\n",
       "      <td>20.590</td>\n",
       "      <td>20.068</td>\n",
       "      <td>182143.04</td>\n",
       "      <td>210405.44</td>\n",
       "      <td>192780.61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-17</th>\n",
       "      <td>20.99</td>\n",
       "      <td>21.16</td>\n",
       "      <td>21.15</td>\n",
       "      <td>19.98</td>\n",
       "      <td>175319.77</td>\n",
       "      <td>0.22</td>\n",
       "      <td>1.05</td>\n",
       "      <td>20.566</td>\n",
       "      <td>20.501</td>\n",
       "      <td>19.947</td>\n",
       "      <td>209358.56</td>\n",
       "      <td>216870.16</td>\n",
       "      <td>191965.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-16</th>\n",
       "      <td>20.21</td>\n",
       "      <td>21.59</td>\n",
       "      <td>20.93</td>\n",
       "      <td>20.15</td>\n",
       "      <td>197116.41</td>\n",
       "      <td>0.63</td>\n",
       "      <td>3.10</td>\n",
       "      <td>20.574</td>\n",
       "      <td>20.457</td>\n",
       "      <td>19.744</td>\n",
       "      <td>214527.74</td>\n",
       "      <td>219714.13</td>\n",
       "      <td>188143.40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-13</th>\n",
       "      <td>20.57</td>\n",
       "      <td>21.00</td>\n",
       "      <td>20.30</td>\n",
       "      <td>19.92</td>\n",
       "      <td>169471.41</td>\n",
       "      <td>-0.28</td>\n",
       "      <td>-1.36</td>\n",
       "      <td>20.596</td>\n",
       "      <td>20.361</td>\n",
       "      <td>19.602</td>\n",
       "      <td>220376.96</td>\n",
       "      <td>215256.89</td>\n",
       "      <td>183077.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-12</th>\n",
       "      <td>19.80</td>\n",
       "      <td>21.34</td>\n",
       "      <td>20.58</td>\n",
       "      <td>19.67</td>\n",
       "      <td>248502.31</td>\n",
       "      <td>0.71</td>\n",
       "      <td>3.57</td>\n",
       "      <td>20.684</td>\n",
       "      <td>20.370</td>\n",
       "      <td>19.516</td>\n",
       "      <td>248828.44</td>\n",
       "      <td>222424.89</td>\n",
       "      <td>180589.74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-11</th>\n",
       "      <td>20.43</td>\n",
       "      <td>20.67</td>\n",
       "      <td>19.87</td>\n",
       "      <td>19.42</td>\n",
       "      <td>256382.91</td>\n",
       "      <td>-1.32</td>\n",
       "      <td>-6.23</td>\n",
       "      <td>20.508</td>\n",
       "      <td>20.258</td>\n",
       "      <td>19.405</td>\n",
       "      <td>238667.83</td>\n",
       "      <td>212641.17</td>\n",
       "      <td>171870.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-10</th>\n",
       "      <td>20.88</td>\n",
       "      <td>21.67</td>\n",
       "      <td>21.19</td>\n",
       "      <td>20.46</td>\n",
       "      <td>201165.64</td>\n",
       "      <td>0.15</td>\n",
       "      <td>0.71</td>\n",
       "      <td>20.436</td>\n",
       "      <td>20.277</td>\n",
       "      <td>19.334</td>\n",
       "      <td>224381.75</td>\n",
       "      <td>205605.51</td>\n",
       "      <td>162626.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-09</th>\n",
       "      <td>20.69</td>\n",
       "      <td>21.12</td>\n",
       "      <td>21.04</td>\n",
       "      <td>20.42</td>\n",
       "      <td>226362.55</td>\n",
       "      <td>0.30</td>\n",
       "      <td>1.45</td>\n",
       "      <td>20.340</td>\n",
       "      <td>20.181</td>\n",
       "      <td>19.190</td>\n",
       "      <td>224900.53</td>\n",
       "      <td>211998.41</td>\n",
       "      <td>158078.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-06</th>\n",
       "      <td>19.47</td>\n",
       "      <td>21.67</td>\n",
       "      <td>20.74</td>\n",
       "      <td>19.34</td>\n",
       "      <td>311728.81</td>\n",
       "      <td>1.04</td>\n",
       "      <td>5.28</td>\n",
       "      <td>20.126</td>\n",
       "      <td>19.951</td>\n",
       "      <td>19.084</td>\n",
       "      <td>210136.81</td>\n",
       "      <td>204731.81</td>\n",
       "      <td>150349.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-05</th>\n",
       "      <td>19.70</td>\n",
       "      <td>20.85</td>\n",
       "      <td>19.70</td>\n",
       "      <td>19.30</td>\n",
       "      <td>197699.22</td>\n",
       "      <td>0.19</td>\n",
       "      <td>0.97</td>\n",
       "      <td>20.056</td>\n",
       "      <td>19.751</td>\n",
       "      <td>18.983</td>\n",
       "      <td>196021.34</td>\n",
       "      <td>185736.96</td>\n",
       "      <td>137993.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-04</th>\n",
       "      <td>20.60</td>\n",
       "      <td>20.61</td>\n",
       "      <td>19.51</td>\n",
       "      <td>19.23</td>\n",
       "      <td>184952.52</td>\n",
       "      <td>-1.20</td>\n",
       "      <td>-5.79</td>\n",
       "      <td>20.008</td>\n",
       "      <td>19.545</td>\n",
       "      <td>18.950</td>\n",
       "      <td>186614.52</td>\n",
       "      <td>175155.78</td>\n",
       "      <td>133121.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-03</th>\n",
       "      <td>20.04</td>\n",
       "      <td>20.96</td>\n",
       "      <td>20.71</td>\n",
       "      <td>19.60</td>\n",
       "      <td>203759.55</td>\n",
       "      <td>0.74</td>\n",
       "      <td>3.71</td>\n",
       "      <td>20.118</td>\n",
       "      <td>19.393</td>\n",
       "      <td>18.923</td>\n",
       "      <td>186829.27</td>\n",
       "      <td>167061.65</td>\n",
       "      <td>132099.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-02</th>\n",
       "      <td>20.38</td>\n",
       "      <td>20.45</td>\n",
       "      <td>19.97</td>\n",
       "      <td>19.68</td>\n",
       "      <td>152543.95</td>\n",
       "      <td>-0.42</td>\n",
       "      <td>-2.06</td>\n",
       "      <td>20.022</td>\n",
       "      <td>19.031</td>\n",
       "      <td>18.768</td>\n",
       "      <td>199096.28</td>\n",
       "      <td>156572.68</td>\n",
       "      <td>126548.20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "date                                                                        \n",
       "2018-07-23  24.00  24.63  24.50  23.64  394998.97          1.14      4.88   \n",
       "2018-07-20  21.27  23.36  23.36  20.58  285217.94          2.12      9.98   \n",
       "2018-07-19  20.31  21.53  21.24  20.08  237180.05          0.84      4.12   \n",
       "2018-07-18  21.01  21.11  20.40  20.40  120305.32         -0.75     -3.55   \n",
       "2018-07-17  20.99  21.16  21.15  19.98  175319.77          0.22      1.05   \n",
       "2018-07-16  20.21  21.59  20.93  20.15  197116.41          0.63      3.10   \n",
       "2018-07-13  20.57  21.00  20.30  19.92  169471.41         -0.28     -1.36   \n",
       "2018-07-12  19.80  21.34  20.58  19.67  248502.31          0.71      3.57   \n",
       "2018-07-11  20.43  20.67  19.87  19.42  256382.91         -1.32     -6.23   \n",
       "2018-07-10  20.88  21.67  21.19  20.46  201165.64          0.15      0.71   \n",
       "2018-07-09  20.69  21.12  21.04  20.42  226362.55          0.30      1.45   \n",
       "2018-07-06  19.47  21.67  20.74  19.34  311728.81          1.04      5.28   \n",
       "2018-07-05  19.70  20.85  19.70  19.30  197699.22          0.19      0.97   \n",
       "2018-07-04  20.60  20.61  19.51  19.23  184952.52         -1.20     -5.79   \n",
       "2018-07-03  20.04  20.96  20.71  19.60  203759.55          0.74      3.71   \n",
       "2018-07-02  20.38  20.45  19.97  19.68  152543.95         -0.42     -2.06   \n",
       "\n",
       "               ma5    ma10    ma20      v_ma5     v_ma10     v_ma20  \n",
       "date                                                                 \n",
       "2018-07-23  22.130  21.352  20.767  242604.41  228566.07  220282.24  \n",
       "2018-07-20  21.416  21.006  20.479  203027.90  211702.43  208217.12  \n",
       "2018-07-19  20.804  20.744  20.248  179878.59  214353.52  200045.24  \n",
       "2018-07-18  20.672  20.590  20.068  182143.04  210405.44  192780.61  \n",
       "2018-07-17  20.566  20.501  19.947  209358.56  216870.16  191965.90  \n",
       "2018-07-16  20.574  20.457  19.744  214527.74  219714.13  188143.40  \n",
       "2018-07-13  20.596  20.361  19.602  220376.96  215256.89  183077.62  \n",
       "2018-07-12  20.684  20.370  19.516  248828.44  222424.89  180589.74  \n",
       "2018-07-11  20.508  20.258  19.405  238667.83  212641.17  171870.55  \n",
       "2018-07-10  20.436  20.277  19.334  224381.75  205605.51  162626.66  \n",
       "2018-07-09  20.340  20.181  19.190  224900.53  211998.41  158078.63  \n",
       "2018-07-06  20.126  19.951  19.084  210136.81  204731.81  150349.86  \n",
       "2018-07-05  20.056  19.751  18.983  196021.34  185736.96  137993.03  \n",
       "2018-07-04  20.008  19.545  18.950  186614.52  175155.78  133121.67  \n",
       "2018-07-03  20.118  19.393  18.923  186829.27  167061.65  132099.17  \n",
       "2018-07-02  20.022  19.031  18.768  199096.28  156572.68  126548.20  "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "转置数据表。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>date</th>\n",
       "      <th>2018-07-23</th>\n",
       "      <th>2018-07-20</th>\n",
       "      <th>2018-07-19</th>\n",
       "      <th>2018-07-18</th>\n",
       "      <th>2018-07-17</th>\n",
       "      <th>2018-07-16</th>\n",
       "      <th>2018-07-13</th>\n",
       "      <th>2018-07-12</th>\n",
       "      <th>2018-07-11</th>\n",
       "      <th>2018-07-10</th>\n",
       "      <th>2018-07-09</th>\n",
       "      <th>2018-07-06</th>\n",
       "      <th>2018-07-05</th>\n",
       "      <th>2018-07-04</th>\n",
       "      <th>2018-07-03</th>\n",
       "      <th>2018-07-02</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>open</th>\n",
       "      <td>24.000</td>\n",
       "      <td>21.270</td>\n",
       "      <td>20.310</td>\n",
       "      <td>21.010</td>\n",
       "      <td>20.990</td>\n",
       "      <td>20.210</td>\n",
       "      <td>20.570</td>\n",
       "      <td>19.800</td>\n",
       "      <td>20.430</td>\n",
       "      <td>20.880</td>\n",
       "      <td>20.690</td>\n",
       "      <td>19.470</td>\n",
       "      <td>19.700</td>\n",
       "      <td>20.600</td>\n",
       "      <td>20.040</td>\n",
       "      <td>20.380</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>high</th>\n",
       "      <td>24.630</td>\n",
       "      <td>23.360</td>\n",
       "      <td>21.530</td>\n",
       "      <td>21.110</td>\n",
       "      <td>21.160</td>\n",
       "      <td>21.590</td>\n",
       "      <td>21.000</td>\n",
       "      <td>21.340</td>\n",
       "      <td>20.670</td>\n",
       "      <td>21.670</td>\n",
       "      <td>21.120</td>\n",
       "      <td>21.670</td>\n",
       "      <td>20.850</td>\n",
       "      <td>20.610</td>\n",
       "      <td>20.960</td>\n",
       "      <td>20.450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>close</th>\n",
       "      <td>24.500</td>\n",
       "      <td>23.360</td>\n",
       "      <td>21.240</td>\n",
       "      <td>20.400</td>\n",
       "      <td>21.150</td>\n",
       "      <td>20.930</td>\n",
       "      <td>20.300</td>\n",
       "      <td>20.580</td>\n",
       "      <td>19.870</td>\n",
       "      <td>21.190</td>\n",
       "      <td>21.040</td>\n",
       "      <td>20.740</td>\n",
       "      <td>19.700</td>\n",
       "      <td>19.510</td>\n",
       "      <td>20.710</td>\n",
       "      <td>19.970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>low</th>\n",
       "      <td>23.640</td>\n",
       "      <td>20.580</td>\n",
       "      <td>20.080</td>\n",
       "      <td>20.400</td>\n",
       "      <td>19.980</td>\n",
       "      <td>20.150</td>\n",
       "      <td>19.920</td>\n",
       "      <td>19.670</td>\n",
       "      <td>19.420</td>\n",
       "      <td>20.460</td>\n",
       "      <td>20.420</td>\n",
       "      <td>19.340</td>\n",
       "      <td>19.300</td>\n",
       "      <td>19.230</td>\n",
       "      <td>19.600</td>\n",
       "      <td>19.680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>volume</th>\n",
       "      <td>394998.970</td>\n",
       "      <td>285217.940</td>\n",
       "      <td>237180.050</td>\n",
       "      <td>120305.320</td>\n",
       "      <td>175319.770</td>\n",
       "      <td>197116.410</td>\n",
       "      <td>169471.410</td>\n",
       "      <td>248502.310</td>\n",
       "      <td>256382.910</td>\n",
       "      <td>201165.640</td>\n",
       "      <td>226362.550</td>\n",
       "      <td>311728.810</td>\n",
       "      <td>197699.220</td>\n",
       "      <td>184952.520</td>\n",
       "      <td>203759.550</td>\n",
       "      <td>152543.950</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_change</th>\n",
       "      <td>1.140</td>\n",
       "      <td>2.120</td>\n",
       "      <td>0.840</td>\n",
       "      <td>-0.750</td>\n",
       "      <td>0.220</td>\n",
       "      <td>0.630</td>\n",
       "      <td>-0.280</td>\n",
       "      <td>0.710</td>\n",
       "      <td>-1.320</td>\n",
       "      <td>0.150</td>\n",
       "      <td>0.300</td>\n",
       "      <td>1.040</td>\n",
       "      <td>0.190</td>\n",
       "      <td>-1.200</td>\n",
       "      <td>0.740</td>\n",
       "      <td>-0.420</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>p_change</th>\n",
       "      <td>4.880</td>\n",
       "      <td>9.980</td>\n",
       "      <td>4.120</td>\n",
       "      <td>-3.550</td>\n",
       "      <td>1.050</td>\n",
       "      <td>3.100</td>\n",
       "      <td>-1.360</td>\n",
       "      <td>3.570</td>\n",
       "      <td>-6.230</td>\n",
       "      <td>0.710</td>\n",
       "      <td>1.450</td>\n",
       "      <td>5.280</td>\n",
       "      <td>0.970</td>\n",
       "      <td>-5.790</td>\n",
       "      <td>3.710</td>\n",
       "      <td>-2.060</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma5</th>\n",
       "      <td>22.130</td>\n",
       "      <td>21.416</td>\n",
       "      <td>20.804</td>\n",
       "      <td>20.672</td>\n",
       "      <td>20.566</td>\n",
       "      <td>20.574</td>\n",
       "      <td>20.596</td>\n",
       "      <td>20.684</td>\n",
       "      <td>20.508</td>\n",
       "      <td>20.436</td>\n",
       "      <td>20.340</td>\n",
       "      <td>20.126</td>\n",
       "      <td>20.056</td>\n",
       "      <td>20.008</td>\n",
       "      <td>20.118</td>\n",
       "      <td>20.022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma10</th>\n",
       "      <td>21.352</td>\n",
       "      <td>21.006</td>\n",
       "      <td>20.744</td>\n",
       "      <td>20.590</td>\n",
       "      <td>20.501</td>\n",
       "      <td>20.457</td>\n",
       "      <td>20.361</td>\n",
       "      <td>20.370</td>\n",
       "      <td>20.258</td>\n",
       "      <td>20.277</td>\n",
       "      <td>20.181</td>\n",
       "      <td>19.951</td>\n",
       "      <td>19.751</td>\n",
       "      <td>19.545</td>\n",
       "      <td>19.393</td>\n",
       "      <td>19.031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma20</th>\n",
       "      <td>20.767</td>\n",
       "      <td>20.479</td>\n",
       "      <td>20.248</td>\n",
       "      <td>20.068</td>\n",
       "      <td>19.947</td>\n",
       "      <td>19.744</td>\n",
       "      <td>19.602</td>\n",
       "      <td>19.516</td>\n",
       "      <td>19.405</td>\n",
       "      <td>19.334</td>\n",
       "      <td>19.190</td>\n",
       "      <td>19.084</td>\n",
       "      <td>18.983</td>\n",
       "      <td>18.950</td>\n",
       "      <td>18.923</td>\n",
       "      <td>18.768</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma5</th>\n",
       "      <td>242604.410</td>\n",
       "      <td>203027.900</td>\n",
       "      <td>179878.590</td>\n",
       "      <td>182143.040</td>\n",
       "      <td>209358.560</td>\n",
       "      <td>214527.740</td>\n",
       "      <td>220376.960</td>\n",
       "      <td>248828.440</td>\n",
       "      <td>238667.830</td>\n",
       "      <td>224381.750</td>\n",
       "      <td>224900.530</td>\n",
       "      <td>210136.810</td>\n",
       "      <td>196021.340</td>\n",
       "      <td>186614.520</td>\n",
       "      <td>186829.270</td>\n",
       "      <td>199096.280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma10</th>\n",
       "      <td>228566.070</td>\n",
       "      <td>211702.430</td>\n",
       "      <td>214353.520</td>\n",
       "      <td>210405.440</td>\n",
       "      <td>216870.160</td>\n",
       "      <td>219714.130</td>\n",
       "      <td>215256.890</td>\n",
       "      <td>222424.890</td>\n",
       "      <td>212641.170</td>\n",
       "      <td>205605.510</td>\n",
       "      <td>211998.410</td>\n",
       "      <td>204731.810</td>\n",
       "      <td>185736.960</td>\n",
       "      <td>175155.780</td>\n",
       "      <td>167061.650</td>\n",
       "      <td>156572.680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma20</th>\n",
       "      <td>220282.240</td>\n",
       "      <td>208217.120</td>\n",
       "      <td>200045.240</td>\n",
       "      <td>192780.610</td>\n",
       "      <td>191965.900</td>\n",
       "      <td>188143.400</td>\n",
       "      <td>183077.620</td>\n",
       "      <td>180589.740</td>\n",
       "      <td>171870.550</td>\n",
       "      <td>162626.660</td>\n",
       "      <td>158078.630</td>\n",
       "      <td>150349.860</td>\n",
       "      <td>137993.030</td>\n",
       "      <td>133121.670</td>\n",
       "      <td>132099.170</td>\n",
       "      <td>126548.200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "date          2018-07-23  2018-07-20  2018-07-19  2018-07-18  2018-07-17  \\\n",
       "open              24.000      21.270      20.310      21.010      20.990   \n",
       "high              24.630      23.360      21.530      21.110      21.160   \n",
       "close             24.500      23.360      21.240      20.400      21.150   \n",
       "low               23.640      20.580      20.080      20.400      19.980   \n",
       "volume        394998.970  285217.940  237180.050  120305.320  175319.770   \n",
       "price_change       1.140       2.120       0.840      -0.750       0.220   \n",
       "p_change           4.880       9.980       4.120      -3.550       1.050   \n",
       "ma5               22.130      21.416      20.804      20.672      20.566   \n",
       "ma10              21.352      21.006      20.744      20.590      20.501   \n",
       "ma20              20.767      20.479      20.248      20.068      19.947   \n",
       "v_ma5         242604.410  203027.900  179878.590  182143.040  209358.560   \n",
       "v_ma10        228566.070  211702.430  214353.520  210405.440  216870.160   \n",
       "v_ma20        220282.240  208217.120  200045.240  192780.610  191965.900   \n",
       "\n",
       "date          2018-07-16  2018-07-13  2018-07-12  2018-07-11  2018-07-10  \\\n",
       "open              20.210      20.570      19.800      20.430      20.880   \n",
       "high              21.590      21.000      21.340      20.670      21.670   \n",
       "close             20.930      20.300      20.580      19.870      21.190   \n",
       "low               20.150      19.920      19.670      19.420      20.460   \n",
       "volume        197116.410  169471.410  248502.310  256382.910  201165.640   \n",
       "price_change       0.630      -0.280       0.710      -1.320       0.150   \n",
       "p_change           3.100      -1.360       3.570      -6.230       0.710   \n",
       "ma5               20.574      20.596      20.684      20.508      20.436   \n",
       "ma10              20.457      20.361      20.370      20.258      20.277   \n",
       "ma20              19.744      19.602      19.516      19.405      19.334   \n",
       "v_ma5         214527.740  220376.960  248828.440  238667.830  224381.750   \n",
       "v_ma10        219714.130  215256.890  222424.890  212641.170  205605.510   \n",
       "v_ma20        188143.400  183077.620  180589.740  171870.550  162626.660   \n",
       "\n",
       "date          2018-07-09  2018-07-06  2018-07-05  2018-07-04  2018-07-03  \\\n",
       "open              20.690      19.470      19.700      20.600      20.040   \n",
       "high              21.120      21.670      20.850      20.610      20.960   \n",
       "close             21.040      20.740      19.700      19.510      20.710   \n",
       "low               20.420      19.340      19.300      19.230      19.600   \n",
       "volume        226362.550  311728.810  197699.220  184952.520  203759.550   \n",
       "price_change       0.300       1.040       0.190      -1.200       0.740   \n",
       "p_change           1.450       5.280       0.970      -5.790       3.710   \n",
       "ma5               20.340      20.126      20.056      20.008      20.118   \n",
       "ma10              20.181      19.951      19.751      19.545      19.393   \n",
       "ma20              19.190      19.084      18.983      18.950      18.923   \n",
       "v_ma5         224900.530  210136.810  196021.340  186614.520  186829.270   \n",
       "v_ma10        211998.410  204731.810  185736.960  175155.780  167061.650   \n",
       "v_ma20        158078.630  150349.860  137993.030  133121.670  132099.170   \n",
       "\n",
       "date          2018-07-02  \n",
       "open              20.380  \n",
       "high              20.450  \n",
       "close             19.970  \n",
       "low               19.680  \n",
       "volume        152543.950  \n",
       "price_change      -0.420  \n",
       "p_change          -2.060  \n",
       "ma5               20.022  \n",
       "ma10              19.031  \n",
       "ma20              18.768  \n",
       "v_ma5         199096.280  \n",
       "v_ma10        156572.680  \n",
       "v_ma20        126548.200  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "显示列名称。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['open', 'high', 'close', 'low', 'volume', 'price_change', 'p_change',\n",
       "       'ma5', 'ma10', 'ma20', 'v_ma5', 'v_ma10', 'v_ma20'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "显示索引列。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2018-07-23', '2018-07-20', '2018-07-19', '2018-07-18', '2018-07-17',\n",
       "       '2018-07-16', '2018-07-13', '2018-07-12', '2018-07-11', '2018-07-10',\n",
       "       '2018-07-09', '2018-07-06', '2018-07-05', '2018-07-04', '2018-07-03',\n",
       "       '2018-07-02'],\n",
       "      dtype='object', name='date')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对数据表排序后转置。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>date</th>\n",
       "      <th>2018-07-02</th>\n",
       "      <th>2018-07-03</th>\n",
       "      <th>2018-07-04</th>\n",
       "      <th>2018-07-05</th>\n",
       "      <th>2018-07-06</th>\n",
       "      <th>2018-07-09</th>\n",
       "      <th>2018-07-10</th>\n",
       "      <th>2018-07-11</th>\n",
       "      <th>2018-07-12</th>\n",
       "      <th>2018-07-13</th>\n",
       "      <th>2018-07-16</th>\n",
       "      <th>2018-07-17</th>\n",
       "      <th>2018-07-18</th>\n",
       "      <th>2018-07-19</th>\n",
       "      <th>2018-07-20</th>\n",
       "      <th>2018-07-23</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>open</th>\n",
       "      <td>20.380</td>\n",
       "      <td>20.040</td>\n",
       "      <td>20.600</td>\n",
       "      <td>19.700</td>\n",
       "      <td>19.470</td>\n",
       "      <td>20.690</td>\n",
       "      <td>20.880</td>\n",
       "      <td>20.430</td>\n",
       "      <td>19.800</td>\n",
       "      <td>20.570</td>\n",
       "      <td>20.210</td>\n",
       "      <td>20.990</td>\n",
       "      <td>21.010</td>\n",
       "      <td>20.310</td>\n",
       "      <td>21.270</td>\n",
       "      <td>24.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>high</th>\n",
       "      <td>20.450</td>\n",
       "      <td>20.960</td>\n",
       "      <td>20.610</td>\n",
       "      <td>20.850</td>\n",
       "      <td>21.670</td>\n",
       "      <td>21.120</td>\n",
       "      <td>21.670</td>\n",
       "      <td>20.670</td>\n",
       "      <td>21.340</td>\n",
       "      <td>21.000</td>\n",
       "      <td>21.590</td>\n",
       "      <td>21.160</td>\n",
       "      <td>21.110</td>\n",
       "      <td>21.530</td>\n",
       "      <td>23.360</td>\n",
       "      <td>24.630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>close</th>\n",
       "      <td>19.970</td>\n",
       "      <td>20.710</td>\n",
       "      <td>19.510</td>\n",
       "      <td>19.700</td>\n",
       "      <td>20.740</td>\n",
       "      <td>21.040</td>\n",
       "      <td>21.190</td>\n",
       "      <td>19.870</td>\n",
       "      <td>20.580</td>\n",
       "      <td>20.300</td>\n",
       "      <td>20.930</td>\n",
       "      <td>21.150</td>\n",
       "      <td>20.400</td>\n",
       "      <td>21.240</td>\n",
       "      <td>23.360</td>\n",
       "      <td>24.500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>low</th>\n",
       "      <td>19.680</td>\n",
       "      <td>19.600</td>\n",
       "      <td>19.230</td>\n",
       "      <td>19.300</td>\n",
       "      <td>19.340</td>\n",
       "      <td>20.420</td>\n",
       "      <td>20.460</td>\n",
       "      <td>19.420</td>\n",
       "      <td>19.670</td>\n",
       "      <td>19.920</td>\n",
       "      <td>20.150</td>\n",
       "      <td>19.980</td>\n",
       "      <td>20.400</td>\n",
       "      <td>20.080</td>\n",
       "      <td>20.580</td>\n",
       "      <td>23.640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>volume</th>\n",
       "      <td>152543.950</td>\n",
       "      <td>203759.550</td>\n",
       "      <td>184952.520</td>\n",
       "      <td>197699.220</td>\n",
       "      <td>311728.810</td>\n",
       "      <td>226362.550</td>\n",
       "      <td>201165.640</td>\n",
       "      <td>256382.910</td>\n",
       "      <td>248502.310</td>\n",
       "      <td>169471.410</td>\n",
       "      <td>197116.410</td>\n",
       "      <td>175319.770</td>\n",
       "      <td>120305.320</td>\n",
       "      <td>237180.050</td>\n",
       "      <td>285217.940</td>\n",
       "      <td>394998.970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_change</th>\n",
       "      <td>-0.420</td>\n",
       "      <td>0.740</td>\n",
       "      <td>-1.200</td>\n",
       "      <td>0.190</td>\n",
       "      <td>1.040</td>\n",
       "      <td>0.300</td>\n",
       "      <td>0.150</td>\n",
       "      <td>-1.320</td>\n",
       "      <td>0.710</td>\n",
       "      <td>-0.280</td>\n",
       "      <td>0.630</td>\n",
       "      <td>0.220</td>\n",
       "      <td>-0.750</td>\n",
       "      <td>0.840</td>\n",
       "      <td>2.120</td>\n",
       "      <td>1.140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>p_change</th>\n",
       "      <td>-2.060</td>\n",
       "      <td>3.710</td>\n",
       "      <td>-5.790</td>\n",
       "      <td>0.970</td>\n",
       "      <td>5.280</td>\n",
       "      <td>1.450</td>\n",
       "      <td>0.710</td>\n",
       "      <td>-6.230</td>\n",
       "      <td>3.570</td>\n",
       "      <td>-1.360</td>\n",
       "      <td>3.100</td>\n",
       "      <td>1.050</td>\n",
       "      <td>-3.550</td>\n",
       "      <td>4.120</td>\n",
       "      <td>9.980</td>\n",
       "      <td>4.880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma5</th>\n",
       "      <td>20.022</td>\n",
       "      <td>20.118</td>\n",
       "      <td>20.008</td>\n",
       "      <td>20.056</td>\n",
       "      <td>20.126</td>\n",
       "      <td>20.340</td>\n",
       "      <td>20.436</td>\n",
       "      <td>20.508</td>\n",
       "      <td>20.684</td>\n",
       "      <td>20.596</td>\n",
       "      <td>20.574</td>\n",
       "      <td>20.566</td>\n",
       "      <td>20.672</td>\n",
       "      <td>20.804</td>\n",
       "      <td>21.416</td>\n",
       "      <td>22.130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma10</th>\n",
       "      <td>19.031</td>\n",
       "      <td>19.393</td>\n",
       "      <td>19.545</td>\n",
       "      <td>19.751</td>\n",
       "      <td>19.951</td>\n",
       "      <td>20.181</td>\n",
       "      <td>20.277</td>\n",
       "      <td>20.258</td>\n",
       "      <td>20.370</td>\n",
       "      <td>20.361</td>\n",
       "      <td>20.457</td>\n",
       "      <td>20.501</td>\n",
       "      <td>20.590</td>\n",
       "      <td>20.744</td>\n",
       "      <td>21.006</td>\n",
       "      <td>21.352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma20</th>\n",
       "      <td>18.768</td>\n",
       "      <td>18.923</td>\n",
       "      <td>18.950</td>\n",
       "      <td>18.983</td>\n",
       "      <td>19.084</td>\n",
       "      <td>19.190</td>\n",
       "      <td>19.334</td>\n",
       "      <td>19.405</td>\n",
       "      <td>19.516</td>\n",
       "      <td>19.602</td>\n",
       "      <td>19.744</td>\n",
       "      <td>19.947</td>\n",
       "      <td>20.068</td>\n",
       "      <td>20.248</td>\n",
       "      <td>20.479</td>\n",
       "      <td>20.767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma5</th>\n",
       "      <td>199096.280</td>\n",
       "      <td>186829.270</td>\n",
       "      <td>186614.520</td>\n",
       "      <td>196021.340</td>\n",
       "      <td>210136.810</td>\n",
       "      <td>224900.530</td>\n",
       "      <td>224381.750</td>\n",
       "      <td>238667.830</td>\n",
       "      <td>248828.440</td>\n",
       "      <td>220376.960</td>\n",
       "      <td>214527.740</td>\n",
       "      <td>209358.560</td>\n",
       "      <td>182143.040</td>\n",
       "      <td>179878.590</td>\n",
       "      <td>203027.900</td>\n",
       "      <td>242604.410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma10</th>\n",
       "      <td>156572.680</td>\n",
       "      <td>167061.650</td>\n",
       "      <td>175155.780</td>\n",
       "      <td>185736.960</td>\n",
       "      <td>204731.810</td>\n",
       "      <td>211998.410</td>\n",
       "      <td>205605.510</td>\n",
       "      <td>212641.170</td>\n",
       "      <td>222424.890</td>\n",
       "      <td>215256.890</td>\n",
       "      <td>219714.130</td>\n",
       "      <td>216870.160</td>\n",
       "      <td>210405.440</td>\n",
       "      <td>214353.520</td>\n",
       "      <td>211702.430</td>\n",
       "      <td>228566.070</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma20</th>\n",
       "      <td>126548.200</td>\n",
       "      <td>132099.170</td>\n",
       "      <td>133121.670</td>\n",
       "      <td>137993.030</td>\n",
       "      <td>150349.860</td>\n",
       "      <td>158078.630</td>\n",
       "      <td>162626.660</td>\n",
       "      <td>171870.550</td>\n",
       "      <td>180589.740</td>\n",
       "      <td>183077.620</td>\n",
       "      <td>188143.400</td>\n",
       "      <td>191965.900</td>\n",
       "      <td>192780.610</td>\n",
       "      <td>200045.240</td>\n",
       "      <td>208217.120</td>\n",
       "      <td>220282.240</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "date          2018-07-02  2018-07-03  2018-07-04  2018-07-05  2018-07-06  \\\n",
       "open              20.380      20.040      20.600      19.700      19.470   \n",
       "high              20.450      20.960      20.610      20.850      21.670   \n",
       "close             19.970      20.710      19.510      19.700      20.740   \n",
       "low               19.680      19.600      19.230      19.300      19.340   \n",
       "volume        152543.950  203759.550  184952.520  197699.220  311728.810   \n",
       "price_change      -0.420       0.740      -1.200       0.190       1.040   \n",
       "p_change          -2.060       3.710      -5.790       0.970       5.280   \n",
       "ma5               20.022      20.118      20.008      20.056      20.126   \n",
       "ma10              19.031      19.393      19.545      19.751      19.951   \n",
       "ma20              18.768      18.923      18.950      18.983      19.084   \n",
       "v_ma5         199096.280  186829.270  186614.520  196021.340  210136.810   \n",
       "v_ma10        156572.680  167061.650  175155.780  185736.960  204731.810   \n",
       "v_ma20        126548.200  132099.170  133121.670  137993.030  150349.860   \n",
       "\n",
       "date          2018-07-09  2018-07-10  2018-07-11  2018-07-12  2018-07-13  \\\n",
       "open              20.690      20.880      20.430      19.800      20.570   \n",
       "high              21.120      21.670      20.670      21.340      21.000   \n",
       "close             21.040      21.190      19.870      20.580      20.300   \n",
       "low               20.420      20.460      19.420      19.670      19.920   \n",
       "volume        226362.550  201165.640  256382.910  248502.310  169471.410   \n",
       "price_change       0.300       0.150      -1.320       0.710      -0.280   \n",
       "p_change           1.450       0.710      -6.230       3.570      -1.360   \n",
       "ma5               20.340      20.436      20.508      20.684      20.596   \n",
       "ma10              20.181      20.277      20.258      20.370      20.361   \n",
       "ma20              19.190      19.334      19.405      19.516      19.602   \n",
       "v_ma5         224900.530  224381.750  238667.830  248828.440  220376.960   \n",
       "v_ma10        211998.410  205605.510  212641.170  222424.890  215256.890   \n",
       "v_ma20        158078.630  162626.660  171870.550  180589.740  183077.620   \n",
       "\n",
       "date          2018-07-16  2018-07-17  2018-07-18  2018-07-19  2018-07-20  \\\n",
       "open              20.210      20.990      21.010      20.310      21.270   \n",
       "high              21.590      21.160      21.110      21.530      23.360   \n",
       "close             20.930      21.150      20.400      21.240      23.360   \n",
       "low               20.150      19.980      20.400      20.080      20.580   \n",
       "volume        197116.410  175319.770  120305.320  237180.050  285217.940   \n",
       "price_change       0.630       0.220      -0.750       0.840       2.120   \n",
       "p_change           3.100       1.050      -3.550       4.120       9.980   \n",
       "ma5               20.574      20.566      20.672      20.804      21.416   \n",
       "ma10              20.457      20.501      20.590      20.744      21.006   \n",
       "ma20              19.744      19.947      20.068      20.248      20.479   \n",
       "v_ma5         214527.740  209358.560  182143.040  179878.590  203027.900   \n",
       "v_ma10        219714.130  216870.160  210405.440  214353.520  211702.430   \n",
       "v_ma20        188143.400  191965.900  192780.610  200045.240  208217.120   \n",
       "\n",
       "date          2018-07-23  \n",
       "open              24.000  \n",
       "high              24.630  \n",
       "close             24.500  \n",
       "low               23.640  \n",
       "volume        394998.970  \n",
       "price_change       1.140  \n",
       "p_change           4.880  \n",
       "ma5               22.130  \n",
       "ma10              21.352  \n",
       "ma20              20.767  \n",
       "v_ma5         242604.410  \n",
       "v_ma10        228566.070  \n",
       "v_ma20        220282.240  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sort_index(ascending=True).T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "显示前10条记录。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-07-23</th>\n",
       "      <td>24.00</td>\n",
       "      <td>24.63</td>\n",
       "      <td>24.50</td>\n",
       "      <td>23.64</td>\n",
       "      <td>394998.97</td>\n",
       "      <td>1.14</td>\n",
       "      <td>4.88</td>\n",
       "      <td>22.130</td>\n",
       "      <td>21.352</td>\n",
       "      <td>20.767</td>\n",
       "      <td>242604.41</td>\n",
       "      <td>228566.07</td>\n",
       "      <td>220282.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-20</th>\n",
       "      <td>21.27</td>\n",
       "      <td>23.36</td>\n",
       "      <td>23.36</td>\n",
       "      <td>20.58</td>\n",
       "      <td>285217.94</td>\n",
       "      <td>2.12</td>\n",
       "      <td>9.98</td>\n",
       "      <td>21.416</td>\n",
       "      <td>21.006</td>\n",
       "      <td>20.479</td>\n",
       "      <td>203027.90</td>\n",
       "      <td>211702.43</td>\n",
       "      <td>208217.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-19</th>\n",
       "      <td>20.31</td>\n",
       "      <td>21.53</td>\n",
       "      <td>21.24</td>\n",
       "      <td>20.08</td>\n",
       "      <td>237180.05</td>\n",
       "      <td>0.84</td>\n",
       "      <td>4.12</td>\n",
       "      <td>20.804</td>\n",
       "      <td>20.744</td>\n",
       "      <td>20.248</td>\n",
       "      <td>179878.59</td>\n",
       "      <td>214353.52</td>\n",
       "      <td>200045.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-18</th>\n",
       "      <td>21.01</td>\n",
       "      <td>21.11</td>\n",
       "      <td>20.40</td>\n",
       "      <td>20.40</td>\n",
       "      <td>120305.32</td>\n",
       "      <td>-0.75</td>\n",
       "      <td>-3.55</td>\n",
       "      <td>20.672</td>\n",
       "      <td>20.590</td>\n",
       "      <td>20.068</td>\n",
       "      <td>182143.04</td>\n",
       "      <td>210405.44</td>\n",
       "      <td>192780.61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-17</th>\n",
       "      <td>20.99</td>\n",
       "      <td>21.16</td>\n",
       "      <td>21.15</td>\n",
       "      <td>19.98</td>\n",
       "      <td>175319.77</td>\n",
       "      <td>0.22</td>\n",
       "      <td>1.05</td>\n",
       "      <td>20.566</td>\n",
       "      <td>20.501</td>\n",
       "      <td>19.947</td>\n",
       "      <td>209358.56</td>\n",
       "      <td>216870.16</td>\n",
       "      <td>191965.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-16</th>\n",
       "      <td>20.21</td>\n",
       "      <td>21.59</td>\n",
       "      <td>20.93</td>\n",
       "      <td>20.15</td>\n",
       "      <td>197116.41</td>\n",
       "      <td>0.63</td>\n",
       "      <td>3.10</td>\n",
       "      <td>20.574</td>\n",
       "      <td>20.457</td>\n",
       "      <td>19.744</td>\n",
       "      <td>214527.74</td>\n",
       "      <td>219714.13</td>\n",
       "      <td>188143.40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-13</th>\n",
       "      <td>20.57</td>\n",
       "      <td>21.00</td>\n",
       "      <td>20.30</td>\n",
       "      <td>19.92</td>\n",
       "      <td>169471.41</td>\n",
       "      <td>-0.28</td>\n",
       "      <td>-1.36</td>\n",
       "      <td>20.596</td>\n",
       "      <td>20.361</td>\n",
       "      <td>19.602</td>\n",
       "      <td>220376.96</td>\n",
       "      <td>215256.89</td>\n",
       "      <td>183077.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-12</th>\n",
       "      <td>19.80</td>\n",
       "      <td>21.34</td>\n",
       "      <td>20.58</td>\n",
       "      <td>19.67</td>\n",
       "      <td>248502.31</td>\n",
       "      <td>0.71</td>\n",
       "      <td>3.57</td>\n",
       "      <td>20.684</td>\n",
       "      <td>20.370</td>\n",
       "      <td>19.516</td>\n",
       "      <td>248828.44</td>\n",
       "      <td>222424.89</td>\n",
       "      <td>180589.74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-11</th>\n",
       "      <td>20.43</td>\n",
       "      <td>20.67</td>\n",
       "      <td>19.87</td>\n",
       "      <td>19.42</td>\n",
       "      <td>256382.91</td>\n",
       "      <td>-1.32</td>\n",
       "      <td>-6.23</td>\n",
       "      <td>20.508</td>\n",
       "      <td>20.258</td>\n",
       "      <td>19.405</td>\n",
       "      <td>238667.83</td>\n",
       "      <td>212641.17</td>\n",
       "      <td>171870.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-10</th>\n",
       "      <td>20.88</td>\n",
       "      <td>21.67</td>\n",
       "      <td>21.19</td>\n",
       "      <td>20.46</td>\n",
       "      <td>201165.64</td>\n",
       "      <td>0.15</td>\n",
       "      <td>0.71</td>\n",
       "      <td>20.436</td>\n",
       "      <td>20.277</td>\n",
       "      <td>19.334</td>\n",
       "      <td>224381.75</td>\n",
       "      <td>205605.51</td>\n",
       "      <td>162626.66</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "date                                                                        \n",
       "2018-07-23  24.00  24.63  24.50  23.64  394998.97          1.14      4.88   \n",
       "2018-07-20  21.27  23.36  23.36  20.58  285217.94          2.12      9.98   \n",
       "2018-07-19  20.31  21.53  21.24  20.08  237180.05          0.84      4.12   \n",
       "2018-07-18  21.01  21.11  20.40  20.40  120305.32         -0.75     -3.55   \n",
       "2018-07-17  20.99  21.16  21.15  19.98  175319.77          0.22      1.05   \n",
       "2018-07-16  20.21  21.59  20.93  20.15  197116.41          0.63      3.10   \n",
       "2018-07-13  20.57  21.00  20.30  19.92  169471.41         -0.28     -1.36   \n",
       "2018-07-12  19.80  21.34  20.58  19.67  248502.31          0.71      3.57   \n",
       "2018-07-11  20.43  20.67  19.87  19.42  256382.91         -1.32     -6.23   \n",
       "2018-07-10  20.88  21.67  21.19  20.46  201165.64          0.15      0.71   \n",
       "\n",
       "               ma5    ma10    ma20      v_ma5     v_ma10     v_ma20  \n",
       "date                                                                 \n",
       "2018-07-23  22.130  21.352  20.767  242604.41  228566.07  220282.24  \n",
       "2018-07-20  21.416  21.006  20.479  203027.90  211702.43  208217.12  \n",
       "2018-07-19  20.804  20.744  20.248  179878.59  214353.52  200045.24  \n",
       "2018-07-18  20.672  20.590  20.068  182143.04  210405.44  192780.61  \n",
       "2018-07-17  20.566  20.501  19.947  209358.56  216870.16  191965.90  \n",
       "2018-07-16  20.574  20.457  19.744  214527.74  219714.13  188143.40  \n",
       "2018-07-13  20.596  20.361  19.602  220376.96  215256.89  183077.62  \n",
       "2018-07-12  20.684  20.370  19.516  248828.44  222424.89  180589.74  \n",
       "2018-07-11  20.508  20.258  19.405  238667.83  212641.17  171870.55  \n",
       "2018-07-10  20.436  20.277  19.334  224381.75  205605.51  162626.66  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "显示最后10条记录。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-07-13</th>\n",
       "      <td>20.57</td>\n",
       "      <td>21.00</td>\n",
       "      <td>20.30</td>\n",
       "      <td>19.92</td>\n",
       "      <td>169471.41</td>\n",
       "      <td>-0.28</td>\n",
       "      <td>-1.36</td>\n",
       "      <td>20.596</td>\n",
       "      <td>20.361</td>\n",
       "      <td>19.602</td>\n",
       "      <td>220376.96</td>\n",
       "      <td>215256.89</td>\n",
       "      <td>183077.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-12</th>\n",
       "      <td>19.80</td>\n",
       "      <td>21.34</td>\n",
       "      <td>20.58</td>\n",
       "      <td>19.67</td>\n",
       "      <td>248502.31</td>\n",
       "      <td>0.71</td>\n",
       "      <td>3.57</td>\n",
       "      <td>20.684</td>\n",
       "      <td>20.370</td>\n",
       "      <td>19.516</td>\n",
       "      <td>248828.44</td>\n",
       "      <td>222424.89</td>\n",
       "      <td>180589.74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-11</th>\n",
       "      <td>20.43</td>\n",
       "      <td>20.67</td>\n",
       "      <td>19.87</td>\n",
       "      <td>19.42</td>\n",
       "      <td>256382.91</td>\n",
       "      <td>-1.32</td>\n",
       "      <td>-6.23</td>\n",
       "      <td>20.508</td>\n",
       "      <td>20.258</td>\n",
       "      <td>19.405</td>\n",
       "      <td>238667.83</td>\n",
       "      <td>212641.17</td>\n",
       "      <td>171870.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-10</th>\n",
       "      <td>20.88</td>\n",
       "      <td>21.67</td>\n",
       "      <td>21.19</td>\n",
       "      <td>20.46</td>\n",
       "      <td>201165.64</td>\n",
       "      <td>0.15</td>\n",
       "      <td>0.71</td>\n",
       "      <td>20.436</td>\n",
       "      <td>20.277</td>\n",
       "      <td>19.334</td>\n",
       "      <td>224381.75</td>\n",
       "      <td>205605.51</td>\n",
       "      <td>162626.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-09</th>\n",
       "      <td>20.69</td>\n",
       "      <td>21.12</td>\n",
       "      <td>21.04</td>\n",
       "      <td>20.42</td>\n",
       "      <td>226362.55</td>\n",
       "      <td>0.30</td>\n",
       "      <td>1.45</td>\n",
       "      <td>20.340</td>\n",
       "      <td>20.181</td>\n",
       "      <td>19.190</td>\n",
       "      <td>224900.53</td>\n",
       "      <td>211998.41</td>\n",
       "      <td>158078.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-06</th>\n",
       "      <td>19.47</td>\n",
       "      <td>21.67</td>\n",
       "      <td>20.74</td>\n",
       "      <td>19.34</td>\n",
       "      <td>311728.81</td>\n",
       "      <td>1.04</td>\n",
       "      <td>5.28</td>\n",
       "      <td>20.126</td>\n",
       "      <td>19.951</td>\n",
       "      <td>19.084</td>\n",
       "      <td>210136.81</td>\n",
       "      <td>204731.81</td>\n",
       "      <td>150349.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-05</th>\n",
       "      <td>19.70</td>\n",
       "      <td>20.85</td>\n",
       "      <td>19.70</td>\n",
       "      <td>19.30</td>\n",
       "      <td>197699.22</td>\n",
       "      <td>0.19</td>\n",
       "      <td>0.97</td>\n",
       "      <td>20.056</td>\n",
       "      <td>19.751</td>\n",
       "      <td>18.983</td>\n",
       "      <td>196021.34</td>\n",
       "      <td>185736.96</td>\n",
       "      <td>137993.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-04</th>\n",
       "      <td>20.60</td>\n",
       "      <td>20.61</td>\n",
       "      <td>19.51</td>\n",
       "      <td>19.23</td>\n",
       "      <td>184952.52</td>\n",
       "      <td>-1.20</td>\n",
       "      <td>-5.79</td>\n",
       "      <td>20.008</td>\n",
       "      <td>19.545</td>\n",
       "      <td>18.950</td>\n",
       "      <td>186614.52</td>\n",
       "      <td>175155.78</td>\n",
       "      <td>133121.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-03</th>\n",
       "      <td>20.04</td>\n",
       "      <td>20.96</td>\n",
       "      <td>20.71</td>\n",
       "      <td>19.60</td>\n",
       "      <td>203759.55</td>\n",
       "      <td>0.74</td>\n",
       "      <td>3.71</td>\n",
       "      <td>20.118</td>\n",
       "      <td>19.393</td>\n",
       "      <td>18.923</td>\n",
       "      <td>186829.27</td>\n",
       "      <td>167061.65</td>\n",
       "      <td>132099.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-02</th>\n",
       "      <td>20.38</td>\n",
       "      <td>20.45</td>\n",
       "      <td>19.97</td>\n",
       "      <td>19.68</td>\n",
       "      <td>152543.95</td>\n",
       "      <td>-0.42</td>\n",
       "      <td>-2.06</td>\n",
       "      <td>20.022</td>\n",
       "      <td>19.031</td>\n",
       "      <td>18.768</td>\n",
       "      <td>199096.28</td>\n",
       "      <td>156572.68</td>\n",
       "      <td>126548.20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "date                                                                        \n",
       "2018-07-13  20.57  21.00  20.30  19.92  169471.41         -0.28     -1.36   \n",
       "2018-07-12  19.80  21.34  20.58  19.67  248502.31          0.71      3.57   \n",
       "2018-07-11  20.43  20.67  19.87  19.42  256382.91         -1.32     -6.23   \n",
       "2018-07-10  20.88  21.67  21.19  20.46  201165.64          0.15      0.71   \n",
       "2018-07-09  20.69  21.12  21.04  20.42  226362.55          0.30      1.45   \n",
       "2018-07-06  19.47  21.67  20.74  19.34  311728.81          1.04      5.28   \n",
       "2018-07-05  19.70  20.85  19.70  19.30  197699.22          0.19      0.97   \n",
       "2018-07-04  20.60  20.61  19.51  19.23  184952.52         -1.20     -5.79   \n",
       "2018-07-03  20.04  20.96  20.71  19.60  203759.55          0.74      3.71   \n",
       "2018-07-02  20.38  20.45  19.97  19.68  152543.95         -0.42     -2.06   \n",
       "\n",
       "               ma5    ma10    ma20      v_ma5     v_ma10     v_ma20  \n",
       "date                                                                 \n",
       "2018-07-13  20.596  20.361  19.602  220376.96  215256.89  183077.62  \n",
       "2018-07-12  20.684  20.370  19.516  248828.44  222424.89  180589.74  \n",
       "2018-07-11  20.508  20.258  19.405  238667.83  212641.17  171870.55  \n",
       "2018-07-10  20.436  20.277  19.334  224381.75  205605.51  162626.66  \n",
       "2018-07-09  20.340  20.181  19.190  224900.53  211998.41  158078.63  \n",
       "2018-07-06  20.126  19.951  19.084  210136.81  204731.81  150349.86  \n",
       "2018-07-05  20.056  19.751  18.983  196021.34  185736.96  137993.03  \n",
       "2018-07-04  20.008  19.545  18.950  186614.52  175155.78  133121.67  \n",
       "2018-07-03  20.118  19.393  18.923  186829.27  167061.65  132099.17  \n",
       "2018-07-02  20.022  19.031  18.768  199096.28  156572.68  126548.20  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.tail(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pandas.DataFrame的数据类型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "open            float64\n",
       "high            float64\n",
       "close           float64\n",
       "low             float64\n",
       "volume          float64\n",
       "price_change    float64\n",
       "p_change        float64\n",
       "ma5             float64\n",
       "ma10            float64\n",
       "ma20            float64\n",
       "v_ma5           float64\n",
       "v_ma10          float64\n",
       "v_ma20          float64\n",
       "dtype: object"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2018-07-23', '2018-07-20', '2018-07-19', '2018-07-18', '2018-07-17',\n",
       "       '2018-07-16', '2018-07-13', '2018-07-12', '2018-07-11', '2018-07-10',\n",
       "       '2018-07-09', '2018-07-06', '2018-07-05', '2018-07-04', '2018-07-03',\n",
       "       '2018-07-02'],\n",
       "      dtype='object', name='date')"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 2.4000000e+01,  2.4630000e+01,  2.4500000e+01,  2.3640000e+01,\n",
       "         3.9499897e+05,  1.1400000e+00,  4.8800000e+00,  2.2130000e+01,\n",
       "         2.1352000e+01,  2.0767000e+01,  2.4260441e+05,  2.2856607e+05,\n",
       "         2.2028224e+05],\n",
       "       [ 2.1270000e+01,  2.3360000e+01,  2.3360000e+01,  2.0580000e+01,\n",
       "         2.8521794e+05,  2.1200000e+00,  9.9800000e+00,  2.1416000e+01,\n",
       "         2.1006000e+01,  2.0479000e+01,  2.0302790e+05,  2.1170243e+05,\n",
       "         2.0821712e+05],\n",
       "       [ 2.0310000e+01,  2.1530000e+01,  2.1240000e+01,  2.0080000e+01,\n",
       "         2.3718005e+05,  8.4000000e-01,  4.1200000e+00,  2.0804000e+01,\n",
       "         2.0744000e+01,  2.0248000e+01,  1.7987859e+05,  2.1435352e+05,\n",
       "         2.0004524e+05],\n",
       "       [ 2.1010000e+01,  2.1110000e+01,  2.0400000e+01,  2.0400000e+01,\n",
       "         1.2030532e+05, -7.5000000e-01, -3.5500000e+00,  2.0672000e+01,\n",
       "         2.0590000e+01,  2.0068000e+01,  1.8214304e+05,  2.1040544e+05,\n",
       "         1.9278061e+05],\n",
       "       [ 2.0990000e+01,  2.1160000e+01,  2.1150000e+01,  1.9980000e+01,\n",
       "         1.7531977e+05,  2.2000000e-01,  1.0500000e+00,  2.0566000e+01,\n",
       "         2.0501000e+01,  1.9947000e+01,  2.0935856e+05,  2.1687016e+05,\n",
       "         1.9196590e+05],\n",
       "       [ 2.0210000e+01,  2.1590000e+01,  2.0930000e+01,  2.0150000e+01,\n",
       "         1.9711641e+05,  6.3000000e-01,  3.1000000e+00,  2.0574000e+01,\n",
       "         2.0457000e+01,  1.9744000e+01,  2.1452774e+05,  2.1971413e+05,\n",
       "         1.8814340e+05],\n",
       "       [ 2.0570000e+01,  2.1000000e+01,  2.0300000e+01,  1.9920000e+01,\n",
       "         1.6947141e+05, -2.8000000e-01, -1.3600000e+00,  2.0596000e+01,\n",
       "         2.0361000e+01,  1.9602000e+01,  2.2037696e+05,  2.1525689e+05,\n",
       "         1.8307762e+05],\n",
       "       [ 1.9800000e+01,  2.1340000e+01,  2.0580000e+01,  1.9670000e+01,\n",
       "         2.4850231e+05,  7.1000000e-01,  3.5700000e+00,  2.0684000e+01,\n",
       "         2.0370000e+01,  1.9516000e+01,  2.4882844e+05,  2.2242489e+05,\n",
       "         1.8058974e+05],\n",
       "       [ 2.0430000e+01,  2.0670000e+01,  1.9870000e+01,  1.9420000e+01,\n",
       "         2.5638291e+05, -1.3200000e+00, -6.2300000e+00,  2.0508000e+01,\n",
       "         2.0258000e+01,  1.9405000e+01,  2.3866783e+05,  2.1264117e+05,\n",
       "         1.7187055e+05],\n",
       "       [ 2.0880000e+01,  2.1670000e+01,  2.1190000e+01,  2.0460000e+01,\n",
       "         2.0116564e+05,  1.5000000e-01,  7.1000000e-01,  2.0436000e+01,\n",
       "         2.0277000e+01,  1.9334000e+01,  2.2438175e+05,  2.0560551e+05,\n",
       "         1.6262666e+05],\n",
       "       [ 2.0690000e+01,  2.1120000e+01,  2.1040000e+01,  2.0420000e+01,\n",
       "         2.2636255e+05,  3.0000000e-01,  1.4500000e+00,  2.0340000e+01,\n",
       "         2.0181000e+01,  1.9190000e+01,  2.2490053e+05,  2.1199841e+05,\n",
       "         1.5807863e+05],\n",
       "       [ 1.9470000e+01,  2.1670000e+01,  2.0740000e+01,  1.9340000e+01,\n",
       "         3.1172881e+05,  1.0400000e+00,  5.2800000e+00,  2.0126000e+01,\n",
       "         1.9951000e+01,  1.9084000e+01,  2.1013681e+05,  2.0473181e+05,\n",
       "         1.5034986e+05],\n",
       "       [ 1.9700000e+01,  2.0850000e+01,  1.9700000e+01,  1.9300000e+01,\n",
       "         1.9769922e+05,  1.9000000e-01,  9.7000000e-01,  2.0056000e+01,\n",
       "         1.9751000e+01,  1.8983000e+01,  1.9602134e+05,  1.8573696e+05,\n",
       "         1.3799303e+05],\n",
       "       [ 2.0600000e+01,  2.0610000e+01,  1.9510000e+01,  1.9230000e+01,\n",
       "         1.8495252e+05, -1.2000000e+00, -5.7900000e+00,  2.0008000e+01,\n",
       "         1.9545000e+01,  1.8950000e+01,  1.8661452e+05,  1.7515578e+05,\n",
       "         1.3312167e+05],\n",
       "       [ 2.0040000e+01,  2.0960000e+01,  2.0710000e+01,  1.9600000e+01,\n",
       "         2.0375955e+05,  7.4000000e-01,  3.7100000e+00,  2.0118000e+01,\n",
       "         1.9393000e+01,  1.8923000e+01,  1.8682927e+05,  1.6706165e+05,\n",
       "         1.3209917e+05],\n",
       "       [ 2.0380000e+01,  2.0450000e+01,  1.9970000e+01,  1.9680000e+01,\n",
       "         1.5254395e+05, -4.2000000e-01, -2.0600000e+00,  2.0022000e+01,\n",
       "         1.9031000e+01,  1.8768000e+01,  1.9909628e+05,  1.5657268e+05,\n",
       "         1.2654820e+05]])"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 生成数据摘要统计。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>ma5</th>\n",
       "      <th>ma10</th>\n",
       "      <th>ma20</th>\n",
       "      <th>v_ma5</th>\n",
       "      <th>v_ma10</th>\n",
       "      <th>v_ma20</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>16.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>20.646875</td>\n",
       "      <td>21.482500</td>\n",
       "      <td>20.949375</td>\n",
       "      <td>20.116875</td>\n",
       "      <td>222669.208125</td>\n",
       "      <td>0.256875</td>\n",
       "      <td>1.239375</td>\n",
       "      <td>20.566000</td>\n",
       "      <td>20.235500</td>\n",
       "      <td>19.563000</td>\n",
       "      <td>210462.123125</td>\n",
       "      <td>203674.843750</td>\n",
       "      <td>171111.852500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.024218</td>\n",
       "      <td>1.074048</td>\n",
       "      <td>1.299418</td>\n",
       "      <td>1.038504</td>\n",
       "      <td>67110.126874</td>\n",
       "      <td>0.900768</td>\n",
       "      <td>4.285577</td>\n",
       "      <td>0.552836</td>\n",
       "      <td>0.596444</td>\n",
       "      <td>0.599813</td>\n",
       "      <td>21720.301506</td>\n",
       "      <td>20990.790536</td>\n",
       "      <td>29189.834901</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>19.470000</td>\n",
       "      <td>20.450000</td>\n",
       "      <td>19.510000</td>\n",
       "      <td>19.230000</td>\n",
       "      <td>120305.320000</td>\n",
       "      <td>-1.320000</td>\n",
       "      <td>-6.230000</td>\n",
       "      <td>20.008000</td>\n",
       "      <td>19.031000</td>\n",
       "      <td>18.768000</td>\n",
       "      <td>179878.590000</td>\n",
       "      <td>156572.680000</td>\n",
       "      <td>126548.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>20.167500</td>\n",
       "      <td>20.932500</td>\n",
       "      <td>20.217500</td>\n",
       "      <td>19.555000</td>\n",
       "      <td>182544.332500</td>\n",
       "      <td>-0.315000</td>\n",
       "      <td>-1.535000</td>\n",
       "      <td>20.124000</td>\n",
       "      <td>19.901000</td>\n",
       "      <td>19.058750</td>\n",
       "      <td>193723.322500</td>\n",
       "      <td>199983.097500</td>\n",
       "      <td>147260.652500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>20.500000</td>\n",
       "      <td>21.140000</td>\n",
       "      <td>20.725000</td>\n",
       "      <td>19.950000</td>\n",
       "      <td>202462.595000</td>\n",
       "      <td>0.260000</td>\n",
       "      <td>1.250000</td>\n",
       "      <td>20.537000</td>\n",
       "      <td>20.319000</td>\n",
       "      <td>19.460500</td>\n",
       "      <td>209747.685000</td>\n",
       "      <td>211850.420000</td>\n",
       "      <td>176230.145000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>20.907500</td>\n",
       "      <td>21.610000</td>\n",
       "      <td>21.160000</td>\n",
       "      <td>20.405000</td>\n",
       "      <td>250472.460000</td>\n",
       "      <td>0.765000</td>\n",
       "      <td>3.812500</td>\n",
       "      <td>20.675000</td>\n",
       "      <td>20.523250</td>\n",
       "      <td>19.977250</td>\n",
       "      <td>224511.445000</td>\n",
       "      <td>215660.207500</td>\n",
       "      <td>192169.577500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>24.000000</td>\n",
       "      <td>24.630000</td>\n",
       "      <td>24.500000</td>\n",
       "      <td>23.640000</td>\n",
       "      <td>394998.970000</td>\n",
       "      <td>2.120000</td>\n",
       "      <td>9.980000</td>\n",
       "      <td>22.130000</td>\n",
       "      <td>21.352000</td>\n",
       "      <td>20.767000</td>\n",
       "      <td>248828.440000</td>\n",
       "      <td>228566.070000</td>\n",
       "      <td>220282.240000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            open       high      close        low         volume  \\\n",
       "count  16.000000  16.000000  16.000000  16.000000      16.000000   \n",
       "mean   20.646875  21.482500  20.949375  20.116875  222669.208125   \n",
       "std     1.024218   1.074048   1.299418   1.038504   67110.126874   \n",
       "min    19.470000  20.450000  19.510000  19.230000  120305.320000   \n",
       "25%    20.167500  20.932500  20.217500  19.555000  182544.332500   \n",
       "50%    20.500000  21.140000  20.725000  19.950000  202462.595000   \n",
       "75%    20.907500  21.610000  21.160000  20.405000  250472.460000   \n",
       "max    24.000000  24.630000  24.500000  23.640000  394998.970000   \n",
       "\n",
       "       price_change   p_change        ma5       ma10       ma20  \\\n",
       "count     16.000000  16.000000  16.000000  16.000000  16.000000   \n",
       "mean       0.256875   1.239375  20.566000  20.235500  19.563000   \n",
       "std        0.900768   4.285577   0.552836   0.596444   0.599813   \n",
       "min       -1.320000  -6.230000  20.008000  19.031000  18.768000   \n",
       "25%       -0.315000  -1.535000  20.124000  19.901000  19.058750   \n",
       "50%        0.260000   1.250000  20.537000  20.319000  19.460500   \n",
       "75%        0.765000   3.812500  20.675000  20.523250  19.977250   \n",
       "max        2.120000   9.980000  22.130000  21.352000  20.767000   \n",
       "\n",
       "               v_ma5         v_ma10         v_ma20  \n",
       "count      16.000000      16.000000      16.000000  \n",
       "mean   210462.123125  203674.843750  171111.852500  \n",
       "std     21720.301506   20990.790536   29189.834901  \n",
       "min    179878.590000  156572.680000  126548.200000  \n",
       "25%    193723.322500  199983.097500  147260.652500  \n",
       "50%    209747.685000  211850.420000  176230.145000  \n",
       "75%    224511.445000  215660.207500  192169.577500  \n",
       "max    248828.440000  228566.070000  220282.240000  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>open</th>\n",
       "      <td>16.0</td>\n",
       "      <td>20.646875</td>\n",
       "      <td>1.024218</td>\n",
       "      <td>19.470</td>\n",
       "      <td>20.16750</td>\n",
       "      <td>20.5000</td>\n",
       "      <td>20.90750</td>\n",
       "      <td>24.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>high</th>\n",
       "      <td>16.0</td>\n",
       "      <td>21.482500</td>\n",
       "      <td>1.074048</td>\n",
       "      <td>20.450</td>\n",
       "      <td>20.93250</td>\n",
       "      <td>21.1400</td>\n",
       "      <td>21.61000</td>\n",
       "      <td>24.630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>close</th>\n",
       "      <td>16.0</td>\n",
       "      <td>20.949375</td>\n",
       "      <td>1.299418</td>\n",
       "      <td>19.510</td>\n",
       "      <td>20.21750</td>\n",
       "      <td>20.7250</td>\n",
       "      <td>21.16000</td>\n",
       "      <td>24.500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>low</th>\n",
       "      <td>16.0</td>\n",
       "      <td>20.116875</td>\n",
       "      <td>1.038504</td>\n",
       "      <td>19.230</td>\n",
       "      <td>19.55500</td>\n",
       "      <td>19.9500</td>\n",
       "      <td>20.40500</td>\n",
       "      <td>23.640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>volume</th>\n",
       "      <td>16.0</td>\n",
       "      <td>222669.208125</td>\n",
       "      <td>67110.126874</td>\n",
       "      <td>120305.320</td>\n",
       "      <td>182544.33250</td>\n",
       "      <td>202462.5950</td>\n",
       "      <td>250472.46000</td>\n",
       "      <td>394998.970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_change</th>\n",
       "      <td>16.0</td>\n",
       "      <td>0.256875</td>\n",
       "      <td>0.900768</td>\n",
       "      <td>-1.320</td>\n",
       "      <td>-0.31500</td>\n",
       "      <td>0.2600</td>\n",
       "      <td>0.76500</td>\n",
       "      <td>2.120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>p_change</th>\n",
       "      <td>16.0</td>\n",
       "      <td>1.239375</td>\n",
       "      <td>4.285577</td>\n",
       "      <td>-6.230</td>\n",
       "      <td>-1.53500</td>\n",
       "      <td>1.2500</td>\n",
       "      <td>3.81250</td>\n",
       "      <td>9.980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma5</th>\n",
       "      <td>16.0</td>\n",
       "      <td>20.566000</td>\n",
       "      <td>0.552836</td>\n",
       "      <td>20.008</td>\n",
       "      <td>20.12400</td>\n",
       "      <td>20.5370</td>\n",
       "      <td>20.67500</td>\n",
       "      <td>22.130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma10</th>\n",
       "      <td>16.0</td>\n",
       "      <td>20.235500</td>\n",
       "      <td>0.596444</td>\n",
       "      <td>19.031</td>\n",
       "      <td>19.90100</td>\n",
       "      <td>20.3190</td>\n",
       "      <td>20.52325</td>\n",
       "      <td>21.352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma20</th>\n",
       "      <td>16.0</td>\n",
       "      <td>19.563000</td>\n",
       "      <td>0.599813</td>\n",
       "      <td>18.768</td>\n",
       "      <td>19.05875</td>\n",
       "      <td>19.4605</td>\n",
       "      <td>19.97725</td>\n",
       "      <td>20.767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma5</th>\n",
       "      <td>16.0</td>\n",
       "      <td>210462.123125</td>\n",
       "      <td>21720.301506</td>\n",
       "      <td>179878.590</td>\n",
       "      <td>193723.32250</td>\n",
       "      <td>209747.6850</td>\n",
       "      <td>224511.44500</td>\n",
       "      <td>248828.440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma10</th>\n",
       "      <td>16.0</td>\n",
       "      <td>203674.843750</td>\n",
       "      <td>20990.790536</td>\n",
       "      <td>156572.680</td>\n",
       "      <td>199983.09750</td>\n",
       "      <td>211850.4200</td>\n",
       "      <td>215660.20750</td>\n",
       "      <td>228566.070</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma20</th>\n",
       "      <td>16.0</td>\n",
       "      <td>171111.852500</td>\n",
       "      <td>29189.834901</td>\n",
       "      <td>126548.200</td>\n",
       "      <td>147260.65250</td>\n",
       "      <td>176230.1450</td>\n",
       "      <td>192169.57750</td>\n",
       "      <td>220282.240</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              count           mean           std         min           25%  \\\n",
       "open           16.0      20.646875      1.024218      19.470      20.16750   \n",
       "high           16.0      21.482500      1.074048      20.450      20.93250   \n",
       "close          16.0      20.949375      1.299418      19.510      20.21750   \n",
       "low            16.0      20.116875      1.038504      19.230      19.55500   \n",
       "volume         16.0  222669.208125  67110.126874  120305.320  182544.33250   \n",
       "price_change   16.0       0.256875      0.900768      -1.320      -0.31500   \n",
       "p_change       16.0       1.239375      4.285577      -6.230      -1.53500   \n",
       "ma5            16.0      20.566000      0.552836      20.008      20.12400   \n",
       "ma10           16.0      20.235500      0.596444      19.031      19.90100   \n",
       "ma20           16.0      19.563000      0.599813      18.768      19.05875   \n",
       "v_ma5          16.0  210462.123125  21720.301506  179878.590  193723.32250   \n",
       "v_ma10         16.0  203674.843750  20990.790536  156572.680  199983.09750   \n",
       "v_ma20         16.0  171111.852500  29189.834901  126548.200  147260.65250   \n",
       "\n",
       "                      50%           75%         max  \n",
       "open              20.5000      20.90750      24.000  \n",
       "high              21.1400      21.61000      24.630  \n",
       "close             20.7250      21.16000      24.500  \n",
       "low               19.9500      20.40500      23.640  \n",
       "volume        202462.5950  250472.46000  394998.970  \n",
       "price_change       0.2600       0.76500       2.120  \n",
       "p_change           1.2500       3.81250       9.980  \n",
       "ma5               20.5370      20.67500      22.130  \n",
       "ma10              20.3190      20.52325      21.352  \n",
       "ma20              19.4605      19.97725      20.767  \n",
       "v_ma5         209747.6850  224511.44500  248828.440  \n",
       "v_ma10        211850.4200  215660.20750  228566.070  \n",
       "v_ma20        176230.1450  192169.57750  220282.240  "
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe().T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "获取单独的一列的前10条记录。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date\n",
       "2018-07-23    24.00\n",
       "2018-07-20    21.27\n",
       "2018-07-19    20.31\n",
       "2018-07-18    21.01\n",
       "2018-07-17    20.99\n",
       "Name: open, dtype: float64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"open\"].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "排序然后转置。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>date</th>\n",
       "      <th>2018-07-02</th>\n",
       "      <th>2018-07-03</th>\n",
       "      <th>2018-07-04</th>\n",
       "      <th>2018-07-05</th>\n",
       "      <th>2018-07-06</th>\n",
       "      <th>2018-07-09</th>\n",
       "      <th>2018-07-10</th>\n",
       "      <th>2018-07-11</th>\n",
       "      <th>2018-07-12</th>\n",
       "      <th>2018-07-13</th>\n",
       "      <th>2018-07-16</th>\n",
       "      <th>2018-07-17</th>\n",
       "      <th>2018-07-18</th>\n",
       "      <th>2018-07-19</th>\n",
       "      <th>2018-07-20</th>\n",
       "      <th>2018-07-23</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>open</th>\n",
       "      <td>20.380</td>\n",
       "      <td>20.040</td>\n",
       "      <td>20.600</td>\n",
       "      <td>19.700</td>\n",
       "      <td>19.470</td>\n",
       "      <td>20.690</td>\n",
       "      <td>20.880</td>\n",
       "      <td>20.430</td>\n",
       "      <td>19.800</td>\n",
       "      <td>20.570</td>\n",
       "      <td>20.210</td>\n",
       "      <td>20.990</td>\n",
       "      <td>21.010</td>\n",
       "      <td>20.310</td>\n",
       "      <td>21.270</td>\n",
       "      <td>24.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>high</th>\n",
       "      <td>20.450</td>\n",
       "      <td>20.960</td>\n",
       "      <td>20.610</td>\n",
       "      <td>20.850</td>\n",
       "      <td>21.670</td>\n",
       "      <td>21.120</td>\n",
       "      <td>21.670</td>\n",
       "      <td>20.670</td>\n",
       "      <td>21.340</td>\n",
       "      <td>21.000</td>\n",
       "      <td>21.590</td>\n",
       "      <td>21.160</td>\n",
       "      <td>21.110</td>\n",
       "      <td>21.530</td>\n",
       "      <td>23.360</td>\n",
       "      <td>24.630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>close</th>\n",
       "      <td>19.970</td>\n",
       "      <td>20.710</td>\n",
       "      <td>19.510</td>\n",
       "      <td>19.700</td>\n",
       "      <td>20.740</td>\n",
       "      <td>21.040</td>\n",
       "      <td>21.190</td>\n",
       "      <td>19.870</td>\n",
       "      <td>20.580</td>\n",
       "      <td>20.300</td>\n",
       "      <td>20.930</td>\n",
       "      <td>21.150</td>\n",
       "      <td>20.400</td>\n",
       "      <td>21.240</td>\n",
       "      <td>23.360</td>\n",
       "      <td>24.500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>low</th>\n",
       "      <td>19.680</td>\n",
       "      <td>19.600</td>\n",
       "      <td>19.230</td>\n",
       "      <td>19.300</td>\n",
       "      <td>19.340</td>\n",
       "      <td>20.420</td>\n",
       "      <td>20.460</td>\n",
       "      <td>19.420</td>\n",
       "      <td>19.670</td>\n",
       "      <td>19.920</td>\n",
       "      <td>20.150</td>\n",
       "      <td>19.980</td>\n",
       "      <td>20.400</td>\n",
       "      <td>20.080</td>\n",
       "      <td>20.580</td>\n",
       "      <td>23.640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>volume</th>\n",
       "      <td>152543.950</td>\n",
       "      <td>203759.550</td>\n",
       "      <td>184952.520</td>\n",
       "      <td>197699.220</td>\n",
       "      <td>311728.810</td>\n",
       "      <td>226362.550</td>\n",
       "      <td>201165.640</td>\n",
       "      <td>256382.910</td>\n",
       "      <td>248502.310</td>\n",
       "      <td>169471.410</td>\n",
       "      <td>197116.410</td>\n",
       "      <td>175319.770</td>\n",
       "      <td>120305.320</td>\n",
       "      <td>237180.050</td>\n",
       "      <td>285217.940</td>\n",
       "      <td>394998.970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_change</th>\n",
       "      <td>-0.420</td>\n",
       "      <td>0.740</td>\n",
       "      <td>-1.200</td>\n",
       "      <td>0.190</td>\n",
       "      <td>1.040</td>\n",
       "      <td>0.300</td>\n",
       "      <td>0.150</td>\n",
       "      <td>-1.320</td>\n",
       "      <td>0.710</td>\n",
       "      <td>-0.280</td>\n",
       "      <td>0.630</td>\n",
       "      <td>0.220</td>\n",
       "      <td>-0.750</td>\n",
       "      <td>0.840</td>\n",
       "      <td>2.120</td>\n",
       "      <td>1.140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>p_change</th>\n",
       "      <td>-2.060</td>\n",
       "      <td>3.710</td>\n",
       "      <td>-5.790</td>\n",
       "      <td>0.970</td>\n",
       "      <td>5.280</td>\n",
       "      <td>1.450</td>\n",
       "      <td>0.710</td>\n",
       "      <td>-6.230</td>\n",
       "      <td>3.570</td>\n",
       "      <td>-1.360</td>\n",
       "      <td>3.100</td>\n",
       "      <td>1.050</td>\n",
       "      <td>-3.550</td>\n",
       "      <td>4.120</td>\n",
       "      <td>9.980</td>\n",
       "      <td>4.880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma5</th>\n",
       "      <td>20.022</td>\n",
       "      <td>20.118</td>\n",
       "      <td>20.008</td>\n",
       "      <td>20.056</td>\n",
       "      <td>20.126</td>\n",
       "      <td>20.340</td>\n",
       "      <td>20.436</td>\n",
       "      <td>20.508</td>\n",
       "      <td>20.684</td>\n",
       "      <td>20.596</td>\n",
       "      <td>20.574</td>\n",
       "      <td>20.566</td>\n",
       "      <td>20.672</td>\n",
       "      <td>20.804</td>\n",
       "      <td>21.416</td>\n",
       "      <td>22.130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma10</th>\n",
       "      <td>19.031</td>\n",
       "      <td>19.393</td>\n",
       "      <td>19.545</td>\n",
       "      <td>19.751</td>\n",
       "      <td>19.951</td>\n",
       "      <td>20.181</td>\n",
       "      <td>20.277</td>\n",
       "      <td>20.258</td>\n",
       "      <td>20.370</td>\n",
       "      <td>20.361</td>\n",
       "      <td>20.457</td>\n",
       "      <td>20.501</td>\n",
       "      <td>20.590</td>\n",
       "      <td>20.744</td>\n",
       "      <td>21.006</td>\n",
       "      <td>21.352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ma20</th>\n",
       "      <td>18.768</td>\n",
       "      <td>18.923</td>\n",
       "      <td>18.950</td>\n",
       "      <td>18.983</td>\n",
       "      <td>19.084</td>\n",
       "      <td>19.190</td>\n",
       "      <td>19.334</td>\n",
       "      <td>19.405</td>\n",
       "      <td>19.516</td>\n",
       "      <td>19.602</td>\n",
       "      <td>19.744</td>\n",
       "      <td>19.947</td>\n",
       "      <td>20.068</td>\n",
       "      <td>20.248</td>\n",
       "      <td>20.479</td>\n",
       "      <td>20.767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma5</th>\n",
       "      <td>199096.280</td>\n",
       "      <td>186829.270</td>\n",
       "      <td>186614.520</td>\n",
       "      <td>196021.340</td>\n",
       "      <td>210136.810</td>\n",
       "      <td>224900.530</td>\n",
       "      <td>224381.750</td>\n",
       "      <td>238667.830</td>\n",
       "      <td>248828.440</td>\n",
       "      <td>220376.960</td>\n",
       "      <td>214527.740</td>\n",
       "      <td>209358.560</td>\n",
       "      <td>182143.040</td>\n",
       "      <td>179878.590</td>\n",
       "      <td>203027.900</td>\n",
       "      <td>242604.410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma10</th>\n",
       "      <td>156572.680</td>\n",
       "      <td>167061.650</td>\n",
       "      <td>175155.780</td>\n",
       "      <td>185736.960</td>\n",
       "      <td>204731.810</td>\n",
       "      <td>211998.410</td>\n",
       "      <td>205605.510</td>\n",
       "      <td>212641.170</td>\n",
       "      <td>222424.890</td>\n",
       "      <td>215256.890</td>\n",
       "      <td>219714.130</td>\n",
       "      <td>216870.160</td>\n",
       "      <td>210405.440</td>\n",
       "      <td>214353.520</td>\n",
       "      <td>211702.430</td>\n",
       "      <td>228566.070</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>v_ma20</th>\n",
       "      <td>126548.200</td>\n",
       "      <td>132099.170</td>\n",
       "      <td>133121.670</td>\n",
       "      <td>137993.030</td>\n",
       "      <td>150349.860</td>\n",
       "      <td>158078.630</td>\n",
       "      <td>162626.660</td>\n",
       "      <td>171870.550</td>\n",
       "      <td>180589.740</td>\n",
       "      <td>183077.620</td>\n",
       "      <td>188143.400</td>\n",
       "      <td>191965.900</td>\n",
       "      <td>192780.610</td>\n",
       "      <td>200045.240</td>\n",
       "      <td>208217.120</td>\n",
       "      <td>220282.240</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "date          2018-07-02  2018-07-03  2018-07-04  2018-07-05  2018-07-06  \\\n",
       "open              20.380      20.040      20.600      19.700      19.470   \n",
       "high              20.450      20.960      20.610      20.850      21.670   \n",
       "close             19.970      20.710      19.510      19.700      20.740   \n",
       "low               19.680      19.600      19.230      19.300      19.340   \n",
       "volume        152543.950  203759.550  184952.520  197699.220  311728.810   \n",
       "price_change      -0.420       0.740      -1.200       0.190       1.040   \n",
       "p_change          -2.060       3.710      -5.790       0.970       5.280   \n",
       "ma5               20.022      20.118      20.008      20.056      20.126   \n",
       "ma10              19.031      19.393      19.545      19.751      19.951   \n",
       "ma20              18.768      18.923      18.950      18.983      19.084   \n",
       "v_ma5         199096.280  186829.270  186614.520  196021.340  210136.810   \n",
       "v_ma10        156572.680  167061.650  175155.780  185736.960  204731.810   \n",
       "v_ma20        126548.200  132099.170  133121.670  137993.030  150349.860   \n",
       "\n",
       "date          2018-07-09  2018-07-10  2018-07-11  2018-07-12  2018-07-13  \\\n",
       "open              20.690      20.880      20.430      19.800      20.570   \n",
       "high              21.120      21.670      20.670      21.340      21.000   \n",
       "close             21.040      21.190      19.870      20.580      20.300   \n",
       "low               20.420      20.460      19.420      19.670      19.920   \n",
       "volume        226362.550  201165.640  256382.910  248502.310  169471.410   \n",
       "price_change       0.300       0.150      -1.320       0.710      -0.280   \n",
       "p_change           1.450       0.710      -6.230       3.570      -1.360   \n",
       "ma5               20.340      20.436      20.508      20.684      20.596   \n",
       "ma10              20.181      20.277      20.258      20.370      20.361   \n",
       "ma20              19.190      19.334      19.405      19.516      19.602   \n",
       "v_ma5         224900.530  224381.750  238667.830  248828.440  220376.960   \n",
       "v_ma10        211998.410  205605.510  212641.170  222424.890  215256.890   \n",
       "v_ma20        158078.630  162626.660  171870.550  180589.740  183077.620   \n",
       "\n",
       "date          2018-07-16  2018-07-17  2018-07-18  2018-07-19  2018-07-20  \\\n",
       "open              20.210      20.990      21.010      20.310      21.270   \n",
       "high              21.590      21.160      21.110      21.530      23.360   \n",
       "close             20.930      21.150      20.400      21.240      23.360   \n",
       "low               20.150      19.980      20.400      20.080      20.580   \n",
       "volume        197116.410  175319.770  120305.320  237180.050  285217.940   \n",
       "price_change       0.630       0.220      -0.750       0.840       2.120   \n",
       "p_change           3.100       1.050      -3.550       4.120       9.980   \n",
       "ma5               20.574      20.566      20.672      20.804      21.416   \n",
       "ma10              20.457      20.501      20.590      20.744      21.006   \n",
       "ma20              19.744      19.947      20.068      20.248      20.479   \n",
       "v_ma5         214527.740  209358.560  182143.040  179878.590  203027.900   \n",
       "v_ma10        219714.130  216870.160  210405.440  214353.520  211702.430   \n",
       "v_ma20        188143.400  191965.900  192780.610  200045.240  208217.120   \n",
       "\n",
       "date          2018-07-23  \n",
       "open              24.000  \n",
       "high              24.630  \n",
       "close             24.500  \n",
       "low               23.640  \n",
       "volume        394998.970  \n",
       "price_change       1.140  \n",
       "p_change           4.880  \n",
       "ma5               22.130  \n",
       "ma10              21.352  \n",
       "ma20              20.767  \n",
       "v_ma5         242604.410  \n",
       "v_ma10        228566.070  \n",
       "v_ma20        220282.240  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sort_index(ascending=True).T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "获取其中几列，构建新的pandas.DataFrame，然后重新排序。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = pd.DataFrame(df,columns=(\"open\",\"close\",\"high\")).sort_index(ascending=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-07-02</th>\n",
       "      <td>20.38</td>\n",
       "      <td>19.97</td>\n",
       "      <td>20.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-03</th>\n",
       "      <td>20.04</td>\n",
       "      <td>20.71</td>\n",
       "      <td>20.96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-04</th>\n",
       "      <td>20.60</td>\n",
       "      <td>19.51</td>\n",
       "      <td>20.61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-05</th>\n",
       "      <td>19.70</td>\n",
       "      <td>19.70</td>\n",
       "      <td>20.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-06</th>\n",
       "      <td>19.47</td>\n",
       "      <td>20.74</td>\n",
       "      <td>21.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-09</th>\n",
       "      <td>20.69</td>\n",
       "      <td>21.04</td>\n",
       "      <td>21.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-10</th>\n",
       "      <td>20.88</td>\n",
       "      <td>21.19</td>\n",
       "      <td>21.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-11</th>\n",
       "      <td>20.43</td>\n",
       "      <td>19.87</td>\n",
       "      <td>20.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-12</th>\n",
       "      <td>19.80</td>\n",
       "      <td>20.58</td>\n",
       "      <td>21.34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-13</th>\n",
       "      <td>20.57</td>\n",
       "      <td>20.30</td>\n",
       "      <td>21.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-16</th>\n",
       "      <td>20.21</td>\n",
       "      <td>20.93</td>\n",
       "      <td>21.59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-17</th>\n",
       "      <td>20.99</td>\n",
       "      <td>21.15</td>\n",
       "      <td>21.16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-18</th>\n",
       "      <td>21.01</td>\n",
       "      <td>20.40</td>\n",
       "      <td>21.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-19</th>\n",
       "      <td>20.31</td>\n",
       "      <td>21.24</td>\n",
       "      <td>21.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-20</th>\n",
       "      <td>21.27</td>\n",
       "      <td>23.36</td>\n",
       "      <td>23.36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-07-23</th>\n",
       "      <td>24.00</td>\n",
       "      <td>24.50</td>\n",
       "      <td>24.63</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open  close   high\n",
       "date                           \n",
       "2018-07-02  20.38  19.97  20.45\n",
       "2018-07-03  20.04  20.71  20.96\n",
       "2018-07-04  20.60  19.51  20.61\n",
       "2018-07-05  19.70  19.70  20.85\n",
       "2018-07-06  19.47  20.74  21.67\n",
       "2018-07-09  20.69  21.04  21.12\n",
       "2018-07-10  20.88  21.19  21.67\n",
       "2018-07-11  20.43  19.87  20.67\n",
       "2018-07-12  19.80  20.58  21.34\n",
       "2018-07-13  20.57  20.30  21.00\n",
       "2018-07-16  20.21  20.93  21.59\n",
       "2018-07-17  20.99  21.15  21.16\n",
       "2018-07-18  21.01  20.40  21.11\n",
       "2018-07-19  20.31  21.24  21.53\n",
       "2018-07-20  21.27  23.36  23.36\n",
       "2018-07-23  24.00  24.50  24.63"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制出曲线图。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1920x640 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#创建一个画布对象。一个画布可以有多幅子图。\n",
    "fig=plt.figure(figsize=(24,8), dpi=80)\n",
    "\n",
    "#在画布中创建一个子图，指定一行、一列的第一幅。\n",
    "p1=fig.add_subplot(1,1,1)\n",
    "\n",
    "#绘制第一条曲线。\n",
    "p1.plot(df2.index,df2['open'])\n",
    "\n",
    "#绘制第二条曲线。\n",
    "p1.plot(df2.index,df2['close'])\n",
    "\n",
    "#显示图形。\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
